Heap Abstraction Beyond Context-Freeness

نویسندگان

  • Hannah Arndt
  • Christina Jansen
  • Christoph Matheja
  • Thomas Noll
چکیده

The aim of shape analysis is to discover precise abstractions of the reachable data structures in a program’s heap. This paper develops a shape analysis for reasoning about relational properties of data structures, such as balancedness of trees or lengths of lists. Both the concrete and the abstract domain are represented by hypergraphs. The analysis is based on user-defined indexed graph grammars to guide concretization and abstraction. This novel extension of context-free graph grammars is powerful enough to model complex data structures, such as balanced binary trees with parent pointers, while preserving most desirable properties of context-free graph grammars. One strength of our analysis is that no artifacts apart from grammars are required from the user; it thus offers a high degree of automation. In particular, indexed graph grammars naturally describe how a data structure evolves and require no deep knowledge about relational properties. We have implemented a prototype of our analysis and report on first experimental results.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Making Finite-State Methods Applicable to Languages Beyond Context-Freeness via Multi-dimensional Trees

We provide a new term-like representation for multi-dimensional trees as defined by Rogers [8,9] which establishes them as a direct generalization of classical trees. As a consequence these structures can be used as input for finite-state applications based on classical tree language theory. Via the correspondence between string and tree languages these applications can then be conceived to be ...

متن کامل

Partially Disjunctive Heap Abstraction

One of the continuing challenges in abstract interpretation is the creation of abstractions that yield analyses that are both tractable and precise enough to prove interesting properties about real-world programs. One source of difficulty is the need to handle programs with different behaviors along different execution paths. Disjunctive (powerset) abstractions capture such distinctions in a na...

متن کامل

Componentized Heap Abstraction

In this paper we present a new heap abstraction that seeks to strike a balance between the use of non-local (transitive) properties to gain precision and exploiting heap-locality. The abstraction represents the heap as an (evolving) tree of heapcomponents, with only a single heap-component being accessible at any time. The representation is tailored to yield several benefits: (a) It localizes t...

متن کامل

Graph Grammar Abstraction for Complex Dynamic Data Structures

Abstract. We present a new abstraction method for heap structures that is based on hyperedge replacement grammars. We use labeled hypergraphs as abstract representation of heap structures. A given hypergraph replacement grammar induces a set of concrete heap structures from a hypergraph. Our technique allows to abstract and concretize the heap partially. Thus the heap parts of high entropy can ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • CoRR

دوره abs/1705.03754  شماره 

صفحات  -

تاریخ انتشار 2017